#Header assembly
PROCTESTE:
	enter $16,$0
	movl 1, (%esp)
	popl	%eax
	addl	(%esp), %eax
	pushl	%eax

	.section .bss

	.section .data

	.section .text
	.globl _start
	.type _start,@function

_start: 
	movl 20, (%esp)
	movl X, (%esp)
	popl	%eax
	cmpl	%eax,(%esp)
	sete	%al
	jnz .L2
	jmp .L3
.L2:
	movl 10, (%esp)
	movl 20, (%esp)
	popl	%eax
	addl	(%esp), %eax
	pushl	%eax
	popl	%eax
	imull	(%esp), %eax
	pushl	%eax
	popl	%eax
	cltd
	idivl	(%esp)
	pushl	%eax
	popl	%eax
	addl	(%esp), %eax
	pushl	%eax
	popl	%eax
	addl	(%esp), %eax
	pushl	%eax
	jmp .L1
.L3:
	popl	%eax
	cmpl	%eax,(%esp)
	sete	%al
	jnz .L4
	jmp .L5
.L4:
	movl 20, (%esp)
	jmp .L1
.L5:
	popl	%eax
	cmpl	%eax,(%esp)
	sete	%al
	jnz .L6
	jmp .L7
.L6:
	movl 30, (%esp)
	jmp .L1
.L7:
.L1:
	movl c, (%esp)
	movl 1, (%esp)
.L8:
	movl 20, (%esp)
	movl	X, %eax
	cmpl	(%esp), %eax
	jz .L9
	movl X, (%esp)
	popl	%eax
	addl	(%esp), %eax
	pushl	%eax
	movl X, (%esp)
	movl 10, (%esp)
	popl	%eax
	imull	(%esp), %eax
	pushl	%eax
	popl	%eax
	cltd
	idivl	(%esp)
	pushl	%eax
	popl	%eax
	addl	(%esp), %eax
	pushl	%eax
	popl	%eax
	cmpl	%eax,(%esp)
	sete	%al
	jz .L10
	movl 10, (%esp)
	jmp .L11
.L10:
	movl 30, (%esp)
.L11:
	incl	X
	jmp .L8
.L9:
_exit:
	int $0x80
	leave
	ret
